Determining a navigation route may require communication between a routing server and an end-user. The end-user may submit a desired destination to the routing server, which then computes and transmits step-by-step routing instructions to the end-user. Names or identifications (IDs) of map links are used by the server to describe the chain of path segments along the route so that the end-user may navigate along that route from the server.
Problems may arise in determining the navigation route using the IDs of the chain of road segments along the route when the end-user is not operating with the most recent map version. In short, an older map version installed on the end-user device may not include up-to-date road segments present in the server's most recent map version. In such cases, the server may need to determine which map version is stored on the end-user's device and provide step-by-step routing instructions compatible with the identified map version.
Under this practice, a map service provider may need to maintain multiple map versions in order to provide compatible routing instructions with various end-users operating with various map versions. For example, a map service provider may maintain a map version on its routing server for four years and release a new map every quarter of the year. Additionally, the map service provider may provide and store different map formats for the same map version on its server (e.g., 4 different map formats). Under such an example, the map service provider is storing 64 different map versions in its servers to support its various end-users (i.e., 4 years*4 updates/year*4 different formats/update=64). This approach is problematic as a limited number of map versions may be stored within a finite amount of server space. Performance and maintenance issues may also exist due to the storage of a large number of map versions. Additionally, this approach may not allow for rapidly refreshing (e.g., weekly/daily updates) of the map stored on the server.